package com.qf.config;

import com.google.code.kaptcha.Constants;
import com.google.code.kaptcha.Producer;
import com.google.code.kaptcha.impl.DefaultKaptcha;
import com.google.code.kaptcha.util.Config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.Properties;

/**
 * 验证码初始化类
 * 项目启动后初始化类会先执行,进行初始化
 * @Configuration注解相当于spring核心配置文件中的beans标签
 * @author fy
 * @version V1.0
 * @Project workspace
 * @Package com.qf.config
 * @Description:
 * @Date 2022/6/15 23:21
 */
@Configuration  //配置验证码
public class KaptchaConfig {

    /**
     * @Bean注解相当于spring核心配置文件中的bean标签,也就是将当前方法的返回值注册到spring容器中
     * 交给spring管理,同时这个返回值也可以在需要的地方被注入使用
     * @return
     */
    @Bean
    public Producer producer() {
        DefaultKaptcha producer = new DefaultKaptcha();
        Properties properties = new Properties();
        properties.setProperty(Constants.KAPTCHA_BORDER,"no");
        //验证码数量
        properties.setProperty(Constants.KAPTCHA_TEXTPRODUCER_CHAR_LENGTH,"1");
        properties.setProperty(Constants.KAPTCHA_TEXTPRODUCER_FONT_COLOR,"black");
        Config config = new Config(properties);
        producer.setConfig(config);

        return  producer;
    }
}
